Check for empty target names
authordinesh <dsdiscoverdinesh@gmail.com>
Thu, 2 Jul 2015 16:57:29 +0000 (22:27 +0530)
committerdinesh <dsdiscoverdinesh@gmail.com>
Thu, 2 Jul 2015 17:00:55 +0000 (22:30 +0530)
src/cargo/util/toml.rs

index 77a341ac667c903c5e8a4c77a4440b42087a751d..2b488beb83c0113e438679e27e4ece6abdf8618f 100644 (file)
@@ -458,11 +458,7 @@ impl TomlManifest {
                 for target in benches {
                     try!(validate_bench_name(target));
                 }
-                if benches.is_empty() {
-                    inferred_bench_targets(layout)
-                } else {
-                    benches.clone()
-                }
+                benches.clone()
             }
             None => inferred_bench_targets(layout)
         };
@@ -590,21 +586,39 @@ fn validate_binary_name(target: &TomlTarget) -> CargoResult<()> {
 
 fn validate_example_name(target: &TomlTarget) -> CargoResult<()> {
     match target.name {
-        Some(_) => Ok(()),
+        Some(ref name) => {
+            if name.trim().is_empty() {
+                Err(human(format!("example target names cannot be empty")))
+            } else {
+                Ok(())
+            }
+        },
         None => Err(human(format!("example target example.name is required")))
     }
 }
 
 fn validate_test_name(target: &TomlTarget) -> CargoResult<()> {
     match target.name {
-        Some(_) => Ok(()),
+        Some(ref name) => {
+            if name.trim().is_empty() {
+                Err(human(format!("test target names cannot be empty")))
+            } else {
+                Ok(())
+            }
+        },
         None => Err(human(format!("test target test.name is required")))
     }
 }
 
 fn validate_bench_name(target: &TomlTarget) -> CargoResult<()> {
     match target.name {
-        Some(_) => Ok(()),
+        Some(ref name) => {
+            if name.trim().is_empty() {
+                Err(human(format!("bench target names cannot be empty")))
+            } else {
+                Ok(())
+            }
+        },
         None => Err(human(format!("bench target bench.name is required")))
     }
 }